﻿// owner 蒋家伟

#pragma once
#include "WeakPtr.h"
#include "IDocumentChangedEventArgs.h"
#include "IDocument.h"

namespace jsdk
{
    class DocumentChangedEventArgs : public IDocumentChangedEventArgs
    {
    public:
        DocumentChangedEventArgs(const IDocument* pDocument, DocumentChangedType status);
        ~DocumentChangedEventArgs() {};
        virtual const DocumentChangedType& getDocumentChangedType() const override;
        virtual const IDocument* getDocument() const override;

    private:
        DocumentChangedType m_docChangedType  = DocumentChangedType::Undefined;
        WeakPtr<const IDocument> m_wpDoc = nullptr;
    };
}
